1606. Сумма первой и последней цифры числа

 

Найти сумму первой и последней цифры целого числа.

 

Вход. Одно целое 32-х разрядное число n, которое состоит не менее чем из двух цифр. Число n может быть положительным или отрицательным.

 

Выход. Вывести сумму первой и последней цифры числа n.

 

Пример входа

Пример выхода

2345

7

 

 

РЕШЕНИЕ

циклы

 

Анализ алгоритма

Последняя цифра числа n равна last = n % 10.

Делим число n на 10, пока оно больше 9. Теперь n будет содержать первую цифру входного числа: first = n.

Находим и выводим сумму первой first и последней last цифры.

 

Решение при помощи строки. Прочитаем число как строку s. Если строка начинается с символа ‘-‘ (входное число отрицательно), то первая цифра числа находится в s[1]. Последнюю цифру находим, вычисляя длину строки.

 

Реализация алгоритма

Читаем входное число n.

 

scanf("%d", &n);

 

Если число n отрицательно, то меняем знак числа на противоположный.

 

if (n < 0) n = -n;

 

Последняя цифра числа n равна last = n % 10.

 

last = n % 10;

 

Делим число n на 10, пока оно больше 9. Теперь n содержит первую цифру входного числа.

 

while (n > 9) n = n / 10;

first = n;

 

Вычисляем и выводим ответ.

 

res = first + last;

printf("%d\n", res);

 

Реализация алгоритма строка

Входное число читаем в строку s.

 

char s[100];

 

Читаем входное число. Установим pos равным индексу, который указывает на первую цифру числа.

 

gets(s);

pos = (s[0] == '-') ? 1 : 0;

 

Находим сумму первой s[pos] – ‘0’ и последней s[strlen(s) – 1] – ‘0’ цифры.

 

sum = s[pos] + s[strlen(s)-1] - 2*'0';

 

Выводим ответ.

 

printf("%d\n",sum);

 

Java реализация

 

import java.util.*;

 

public class Main

{

  public static void main(String[] args)

  {

    Scanner con = new Scanner(System.in);

    char[] s = con.nextLine().toCharArray();

    int pos = 0;

    if (s[0] == '-') pos = 1;

   

    int res = s[pos] + s[s.length - 1] - 2 * '0';     

    System.out.println(res);

    con.close();

  }

}

 

Python реализация

Читаем входное число n.

 

n = int(input())

 

Если число n отрицательно, то меняем знак числа на противоположный.

 

if n < 0: n = -n

 

Преобразовываем число n в строку.

 

n = str(n)

 

Выводим сумму первой и последней цифры.

 

print(int(n[0]) + int(n[-1]))